It is known that communication between different computer or communication systems is problematic, as interfaces are required to support communication between the respective systems, and software has to be developed to support such interaction. FIG. 1 illustrates one known simple example of a distributed communication or computer system 100 that supports multiple independent platforms. Here, different software entities 120, 125, 130 reside on respective software platforms 105, 110, 115. The software entities, by necessity, need to communicate 140 with one another, for example by exchanging data.
Thus, the software entities require functionality to exchange structured data between and amongst themselves. Structured data, in the context of the invention, encompasses data exchanged between the software entities, which are logically structured into independent elements that can be read and interpreted with the same meaning amongst each other. Each element from the exchanged data may be either a basic data type or a composite data type. The composite data type is recursively defined as either a collection of other basic or composite data types. Both basic and composite data types are known to have different platform-specific characteristics, which substantially increases the complexity in achieving efficient inter-platform communication.
U.S. Pat. No. 5,966,531, titled ‘Apparatus and method for providing decoupled data communication between software processes’ describes a mechanism whereby information exchange between software processes that is able to run on different platforms is decoupled from one another. U.S. Pat. No. 5,966,531 proposes to transmit data by encapsulating the data within self-describing data objects called ‘forms’. These forms are self-describing, in that they include not only the data of interest, but also an indication of a type or format of the information, which describes the representations used for the data and the organization of the form.
U.S. Pat. No. 6,940,870, titled ‘System and method for communicating data’ describes a mechanism for communicating data between a source process and one or more destination processes, in which data is converted from a source format in each application or platform to a standard format. The data is then routed from the source process to the one or more destination processes and converted from the standard format to a destination format for each destination process. Receipt of the data is then verified at each destination process. Thus, U.S. Pat. No. 6,940,870 proposes converting all data into a standard format and sending data in such a standard form that the destination entity understands the received data and then converts it to its native form.
A further known mechanism used for data type translation is ASN.1 notation. This type of notation solves some of the inter-platform communication issues and establishes a standard convention for data type characteristics. However, a major disadvantage of using ASN.1 notation is the consequent significant and necessary increase in processing requirements, due to the fact that the data-type translation is performed bi-directionally.
In most data communication systems there is a need to optimize the speed of data transferred during run time. Thus, a need exists for an improved system, apparatus and method of transferring data.